Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

authentication problems

Îåêßíçóå áðü ôï ìÝëïò giannaros. Τελευταία δημοσίευση από το μέλος giannaros στις 15-07-2009, 14:15. Υπάρχουν 11 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  08-07-2009, 13:54 52298

    authentication problems

    Καλησπέρα ασχολούμαι για ένα project με web services.Το concept είναι ότι θέλω να δημιουργήσω κάποιους clients (σε wcf) οι οποίοι θα συνδέονται σε έναν server (wcf).Το κυριότερο κομμάτι είναι ότι θέλω η επικοινωνία να είναι ασφαλής δηλαδή η επικοινωνία να γίνεται με HTΤPS και να μπορώ να κάνω authenticate ποιος client συνδέεται.Έτσι επέλεξα security mode-->trasport και στην συνέχεια clientcredentialtype=certificate.Το πρόβλημα είναι ότι η επικοινωνία δεν γίνεται.Αν αλλάξω όμως το security mode se TransportWithMessageCredential η επικοινωνία λειτουργεί.Το ερωτημά μου είναι αν τα παραπάνω δύο  configurations είναι ισοδύναμα?Δηλαδή αφού το δεύτερο δουλεύει είμαι οκ?Επίσης τα certificate τα δημιουργώ με το makecert tool.Είναι ασφαλέσ να αφήσω τα certificates στο certificaet store?Μήπως είναι ποιο ασφαλέσ να τα φορτώνω από ένα αρχείο?Αν ναι υπάρχει κάποιος τρόπος να γίνει αυτό?

    Μπορεί κάποιοσ να με βοηθήσει ?Έχω κολλήσει αρκετές βδομάδες με αυτά τα ερωτήματα.Ευχαριστώ
  •  08-07-2009, 15:05 52302 σε απάντηση της 52298

    Απ: authentication problems

    Καλησπέρα,

    η δεύτερη μέθοδος προσφέρει  μεγαλύτερη ασφάλεια, αφού επιπλέον από την ασφάλεια του καναλιού ελέγχεται και το ίδιο SOAP μήνυμα, πράγμα το οποίο ζητάς και εσύ (client authentication) όπως μπορείς να δεις και στο msdn.  Το γιατί δε σου έπαιξε το πρώτο, δε μπορώ να το ξέρω χωρίς να έχω δει τα config σου, αλλά δε καλύπτει 100% τις απαιτήσεις σου.

    Για το δεύτερο θέμα είναι προτιμότερο να χρησιμοποεις το certificate store. Ωστόσω μπορείς να ρίξεις μια ματιά στο παρακάτω σύνδεσμο


    Γιώργος Σακαλής
  •  08-07-2009, 17:09 52305 σε απάντηση της 52302

    Απ: authentication problems

    Ευχαριστω πολύ για την απάντηση.
    Τα Links που μου έδωσες τα είχα διαβάσει.Ξέρω ότι το transport παρέχει μόνο https απλά όταν έψαχνα στο net παρατήρησα ότι το TransportWithMessageCredential δεν το χρησιμοποιούσε κανένας για αυτό αρχισα να παίζω με το Transport και στη συνέχεια να προσθέσα certificate δηλαδή
    <security mode="Transport">
                <transport clientCredentialType="Certificate" />
    </security> αλλά επειδή δεν μου έβγαινε χρησιμοποιησα το TransportWithMessageCredential.
    Απλά δεν καταλαβαίνω ποια είναι η διαφορά των δύο και γιατί δεν καλύπτει 100% τις απαιτήσεις μου?
    Όσο για να το δεύτερο ερώτημα μου το Link που μου έδωσες ήταν το μόνο σχεδόν που είχα βρει αλλά αυτό από ότι έχω κατάλαβει είναι Library που έχει γράψει άλλος και όχι από την Microsoft.Η λογική μου ηταν ότι επειδή το certificate store είναι το σύνηθες μέρος για αποθήκευση των certificates αυτό δεν συνεπάγεται πως αν κάποιος (χρήστης,ιος κτλ) μπει στο συστημά μου θα κοιτάξει πρώτα εκεί για να πάρει τα κλειδιά? Που κάνω λάθος?
    Ευχαριστώ και πάλι
  •  08-07-2009, 17:27 52306 σε απάντηση της 52305

    Απ: authentication problems

    Το transport απλά εγγυάται ότι θα γίνει η μετάδοση όλων των μηνημάτων με secure τρόπο (πχ. HTTPS). Αυτό σημαίνει πως οποιοσδήποτε client μπορεί να επικοινωνήσει και να μεταδώσει οποιοδήποτε μήνυμα χωρίς έλεγχο. Το TransportWithMessageCredential ελέχει και τα Crendentials ενός μηνύματος δηλαδή μπορείς να "φιλτράρεις" κάθε μήνυμα ώστε οι clients να μη μπορούν να στείλουν όλα τα μηνύματα. Αυτή είναι η χοντρική διαφορά.

    Αν κάποιος μπει στο σύστημά σου και εχει access στο store σου, τότε θα πρέπει να αγχώνεσαι για περισσότερα πράγματα από το να σου πάρουν το key. Ακόμα και να έχεις το path του custom αρχείου hardcoded με ενα reflector μπορεί πάντα να το βρει.

    Γιώργος Σακαλής
  •  09-07-2009, 12:43 52322 σε απάντηση της 52306

    Απ: authentication problems

    Ωραια.Να ρωτησω και κάτι τελευταίο.Επειδή θέλω η επικοινωνία να είναι όσο το δυνατόν ποιο ασφαλής γίνεται , με αυτές τις επιλογές είμαι καλυμένος (ρωτάω γιατί διάβασα κάποια άλλα post στο forum που κάνουν επιπλέον πράγματα) ?Για παράδειγμα οι clients θα είναι βέβαιοι πως ο server είναι αυτός που λέει ότι είναι?Ακόμη υπάρχει κάποιος τρόπος να χρησιμοποιήσω αυτά τα certificate ώστε να μπορώ να καταλάβω ποιος client είναι αυτός που συνδέεται (πχ client Α) ? Ευχαριστώ με βοηθήσατε να ξεκαθαρίσω αρκετά πράγματα
  •  09-07-2009, 17:54 52337 σε απάντηση της 52322

    Απ: authentication problems

    Οι ερωτήσεις σου είναι πολύ γενικές για να στις απαντήσω. ΤΟ θέμα security εξαρτάται από πολλούς παράγοντες. πχ μπορείς να χρησιμοποιήσεις tcp access list  ή vpn's  ώστε να θεωρείς ώστε να μειώσεις την ίδια την πολυπλοκότητα της εφαρμογής σου. Νια μπορείς να καταλάβεις ποιος client συνδέεται μαζί σου από πολλά πράγματα και όχι μόνο από το certificate. ِΑλλά για να σου πω οτιδήποτε και να μη φαντάζομαι θα πρέπει να γίνεις λίγο πιο συγκεκριμένος

    Γιώργος Σακαλής
  •  09-07-2009, 18:40 52340 σε απάντηση της 52337

    Απ: authentication problems

    Ρίξε και μια ματιά εδώ ίσως σε βοηθήσει

    http://wcfsecurityguide.codeplex.com/
    Γιώργος Σακαλής
  •  10-07-2009, 11:22 52347 σε απάντηση της 52340

    Απ: authentication problems

    Ok μάλλον έχεις δίκιο είναι όντως αρκετά γενικές οι ερωτήσεις μου.Θα προσπαθήσω να γίνω ποιο συγκεκριμένος.Καταρχάς ευχαριστώ για τον κόπο σας.Τώρα να το θέσω λίγο διαφορετικά. θέλω να στήσω ένα wcf service το οποίο θα λειτουργεί ως server, σε αυτό δηλαδή θα συνδέονται κάποια άλλα web services (πιθανότατα σε wcf) τα οποία θα μου στέλνουν δεδομένα.Όλοι οι clients έχουν τα ίδια permissions δηλαδή δεν θέλω κάποιου είδους authorization.θέλω όμως να μην μπορεί να μπει κάποιος και να "κοροιδέψει" το σύστημα υπό την έννοια να πει είμαι o server στείλτε μου data και αντιστρόφως είμαι ένας client πάρε αυτά τα δεδομένα καθώς και να μην μπορεί να δεί ή να πειράξει κάποιος άλλος τα δεδομενα όσο ταξιδεύουν.Οπότε σκέφτηκα να χρησιμοποιήσω certificates από την πλευρά του client και η επικοινωνία να γίνεται μέ https.Δηλαδή σε γλώσσα wcf χρησιμοποιώ transportwithmessagecredential.ΟΚ αυτό λειτουργεί αλλά κάνει αυτό που θέλω ?Δηλαδή οι clients είναι σίγουροι ότι μιλάνε στον server και ο server είναι σίγουρος ότι μιλάει με τους clients που πρέπει και ότι κανένας άλλος δεν πειράζει τα δεδομένα?
    Ευχαριστώ και Sorry για το μέγεθος του post
     

  •  10-07-2009, 13:35 52348 σε απάντηση της 52347

    Απ: authentication problems

    Κοίτα, καταρχήν το HTTPS από μόνο του εξασφαλίζεί μόνο ότι η ανταλλαγή μηνυμάτων γίνεται με encyrption. ِοπότε δε μπορεί να σου εξασφαλίσει αυτό που ζητας. Αν τα services σου είναι σε intranet μπορείς κάλλιστα να περιορίσεις τις ip's που επικοινωνούν με το server σου. Βασικά μπορείς να δεις αρκετά σενάρια χρήστης στο guide που σου πρότεινα. Αν θυμάμαι καλά έχει κάποιο παράδειγμα που εξηγεί πως να ελέγχεις τα claims, δηλαδή να γίνεται εξακρίβωση της ταυτότητας.


    Γιώργος Σακαλής
  •  10-07-2009, 14:41 52359 σε απάντηση της 52348

    Απ: authentication problems

    Γνωρίζω ότι το https δεν εξασφαλίζει και client authentication αλλά νομίζω ότι εξασφαλίζει server authenticaton και data integrity. Επίσης τα certificate που στέλνουν οι clients δεν εξασφαλίζει ότι συνδέονται συγκεκριμένοι clients?Χρησιμοποιώ σαν certificateValidationMode="PeerTrust" που σημαίνει ότι ένας client θα γίνει accept μόνο αν τα certificate που παρέχει βρίσκονται στο trusted people φάκελο μου.Δεν λέω ότι θα μπορώ να καταλάβω ποιος είναι αλλά ότι είναι κάποιος που εμπιστεύμαι.Γιατί λοιπόν θα έχω μόνο encruption?Δυστυχώς δεν είναι σε intranet τα services.Από το guide που μου έδειξες είχα πάρει αυτές τις επιλογές .
  •  10-07-2009, 15:12 52368 σε απάντηση της 52359

    Απ: authentication problems

    Το https εξασφαλίζει κωδικοποιημένο κανάλι επικοινωνίας και αναφέρεται στο transport. Οι άλλες επιλογές (message security) θα σε βοηθήσουν να πετύχεις αυτό που θέλεις. Αρα προχώρα.


    Γιώργος Σακαλής
  •  15-07-2009, 14:15 52494 σε απάντηση της 52368

    Απ: authentication problems

    Ναι οκ,τα είχα υλοποιήσει όλα αυτά σχεδόν.Συνεχίζω λοιπόν.
    Ευχαριστώ πολύ για τις απαντησεις.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems